package com.knowledge.business.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.knowledge.common.annotation.Excel;
import com.knowledge.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 模型配置(模型、语音识别、语音合成等)对象 sys_config
 *
 * @author zhaoyk
 * @date 2025-09-15
 */
@Data
@TableName(value = "sys_config")
@EqualsAndHashCode(callSuper = true)
public class LllmSysConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String configId;
    /**
     * "创建用户ID"
     */
    @Excel(name = "创建用户ID")
    private Long userId;
    /**
     * "配置类型(llm, stt, tts等)"
     */
    @Excel(name = "配置类型(llm, stt, tts等)")
    private String configType;
    /**
     * "LLM模型类型(chat, vision, intent, embedding等)"
     */
    @Excel(name = "LLM模型类型(chat, vision, intent, embedding等)")
    private String modelType;
    /**
     * "服务提供商(openai, vosk, aliyun, tencent等)"
     */
    @Excel(name = "服务提供商(openai, vosk, aliyun, tencent等)")
    private String provider;
    /**
     * "配置名称"
     */
    @Excel(name = "配置名称")
    private String configName;
    /**
     * "配置描述"
     */
    @Excel(name = "配置描述")
    private String configDesc;
    /**
     * "APP ID"
     */
    @Excel(name = "APP ID")
    private String appId;
    /**
     * "API密钥"
     */
    @Excel(name = "API密钥")
    private String apiKey;
    /**
     * "API密钥"
     */
    @Excel(name = "API密钥")
    private String apiSecret;
    /**
     * "Access Key"
     */
    @Excel(name = "Access Key")
    private String ak;
    /**
     * "Secret Key"
     */
    @Excel(name = "Secret Key")
    private String sk;
    /**
     * "API地址"
     */
    @Excel(name = "API地址")
    private String apiUrl;
    /**
     * "是否为默认配置: 1-是, 0-否"
     */
    @Excel(name = "是否为默认配置: 1-是, 0-否")
    private String isDefault;
    /**
     * "状态：1-启用，0-禁用"
     */
    @Excel(name = "状态：1-启用，0-禁用")
    private String state;
}
